// 1.创建等卤的模块，并且创建登录的控制器
var loginApp = angular.module('loginApp',[]);
loginApp.controller('loginController',function ($scope,$http) {
    // 数据
    $scope.formData = {};
    // 发送的方法
    $scope.postForm = function () {
        // 1.formData 添加一个属性，action 代表的就是请求的行为
        $scope.formData.action = 'login';
        $http({
            method:'POST',
            url:'get.php',
            data:$.param($scope.formData),
            headers:{'Content-Type':'application/x-www-form-urlencoded'}
        }).success(function (data) {
            console.log(data);
            if(!data.success){
                // 当前登录失败
                if(!data.errors){
                    // 用户名密码错误
                    $scope.message = data.message;
                }else{
                    // 用户名密码为空的错误
                    $scope.errorUsername = data.errors.username;
                    $scope.errorPassword = data.errors.password;
                }
            }else{
                // 登陆成功
                window.location.href = '#/list/0';
            }
        })
    }
})
//列表页面的模块
var pageList = angular.module('pageList',[]);
pageList.controller('ListTypeCtrl',function ($scope,$http) {
    $http({
        method:'GET',
        url:'get.php?action=get_arctype&where=reid=0',
    }).success(function(data){
        //console.log(data)
        $scope.lists = data;
    }).error(function(err){
        console.log(err);
    })
})
//文章列表的控制器
totals = 0;
pageList.controller('arcListCtrl',function($scope,$http,$location) {
    //首先先获取到当前的路径
    $scope.typeid = $location.path().replace('/list/', '');
    //获取文章的总数
    if ($scope.typeid == 0) {
        $get_total_url = 'get.php?action=get_total';
    } else {
        $get_total_url = 'get.php?action=get_total&where=typeid=' + $scope.typeid;
    }
    //发送请求
    $http({
        method: 'GET',
        url: $get_total_url
    }).success(function (data) {
        $scope.paginationConf.totalItems = data.total;
    }).error(function (err) {
        console.log(err);
    })
    //删除模块
    /*$scope.del = function (index,id) {
        $http({
            metdod:'GET',
            url:'get.php?action=delete_article&index='+ index + '&id=' + id,
        }).success(function (data) {
            if (data.code==101) {
                //删除成功
                console.log('删除成功');
                $scope.meg_success="删除成功! 正在返回列表页...";
                $scope.meg_error="";
                setTimeout(function(){location.href='#/list/0'}, 1000);
            } else {
                //添加失败
                console.log('修改失败');
            }
        })
    }*/
    //获取到总的文章数量之后，我们其实就可以开始设置分页显示内容了.

    $scope.paginationConf = {
        currentPage: 1,
        itemsPerPage: 5,
        pagesLength: 5,
        //这里一定要注意有一个空格
        perPageOptions: [10, 20, 30, 40, 50],
        rememberPerPage: 'perPageItems',
        onChange: function () {
            //获取分页的开始数
            if ($scope.paginationConf.currentPage == 1) {
                $scope.limit = 0;
            } else {
                //(当前页数 - 1)*每页多少条
                $scope.limit = $scope.paginationConf.currentPage * $scope.paginationConf.itemsPerPage - $scope.paginationConf.itemsPerPage;
            }

            //根据当前的type类型，显示不同的栏目里面的内容,先显示的就是第一页的五条数据
            if ($scope.typeid == 0) {
                $geturl = 'get.php?action=get_list&offset=' + $scope.limit + '&rows=' + $scope.paginationConf.itemsPerPage + '&orderField=id&orderBy=DESC';
            } else {
                $geturl = 'get.php?action=get_list&offset=' + $scope.limit + '&rows=' + $scope.paginationConf.itemsPerPage + '&where=typeid=' + $scope.typeid + '&orderField=id&orderBy=DESC';
            }
            //最后发送请求
            //offset 当前的查询的偏移量
            //row 当前查询多少条
            //typeid 查询哪个分类
            //orderField 根据哪个字段进行排序
            //orderBy 排序规则
            $http({
                method: 'GET',
                url: $geturl,
            }).success(function (data) {
                $scope.lists = data;
            }).error(function (err) {
            })
        }
    }
    // 删除
    $scope.del = function (index,id) {
        $http({
            method:'POST',
            url:'get.php?action=delete_article&index=id'
        }).success(function (data) {
            if(data.code == 101){
                // 删除成功
                console.log('删除成功..')
                $scope.meg_success = '删除成功...';
                $scope.meg_error = '';
            }else {
                console.log('删除失败..');
            }
        }).error(function (err) {
            console.log('删除失败...');
        })
    }
    
})

// 新增文章
var addCont = angular.module('addCont',[]);
addCont.controller('addContCtrl',function ($scope,$http) {
    // select 里面需要用到的分类
    $http({
        method:'GET',
        url:'get.php?action=get_arctype&where=reid=0'
    }).success(function (data) {
        $scope.lists = data;
    }).error(function (err) {
        console.log(err);
    })
    // 执行写入操作
    $scope.formData = {};
    $scope.formData.action = 'add_article';
    $scope.postForm = function () {
        $http({
            method:'POST',
            url:'get.php',
            data:$.param($scope.formData),
            headers:{'Content-Type':'application/x-www-form-urlencoded'}
        }).success(function (data) {
            $scope.errorBye = function () {
                $('#errorbox').fadeOut();
            }
            $scope.errorShow = function () {
                $('#errorbox').fadeIn();
            }
            if(!data.errors){
                // 成功
                $scope.meg_success = '插入成功，正在返回列表页面...';
                $scope.meg_error = '';
                setTimeout(function () {location.href = '#/list/0'},1000)
            }else{
                // 失败
                $scope.meg_success = '';
                var get_error = '';
                if(data.errors.hasOwnProperty('title')){
                    get_error = data.errors.title;
                }
                if(data.errors.hasOwnProperty('content')){
                    get_error = get_error + (get_error?'&':'') + data.errors.content;
                }
                if(data.errors.hasOwnProperty('typeid')){
                    get_error = get_error + (get_error?'&':'') + data.errors.typeid;
                }
                $scope.meg_error = get_error;
            }
        })
    }
})

// 修改模块
var modifyCont = angular.module('modifyCont',[]);
modifyCont.controller('modifyContCtrl',function ($scope,$http,$stateParams) {
    // 1.获取所有的分类
    $http({
        method:'GET',
        url:'get.php?action=get_arctype&where=reid=0'
    }).success(function (data) {
        $scope.types = data;
    }).error(function (err) {
        console.log(err);
    })
    // 2.读取一条数据
    // 当前路由中的参数 Id
    console.log($stateParams);
    $http({
        method:'GET',
        url:'get.php?action=get_article&id=' + $stateParams.Id
    }).success(function (data) {
        $scope.lists = data;
    }).error(function (err) {
        console.log(err);
    })
    // 3.postForm 操作
    $scope.formData = {};
    $scope.postForm = function () {
        $scope.formData.action = 'update_article';
        $scope.formData.id = $stateParams.Id;
        $scope.formData.title = form.title.value;
        $scope.formData.content = form.content.value;
        $scope.formData.typeid = $('#typeid option:selected').val();
        $http({
            method:'POST',
            url:'get.php',
            data:$.param($scope.formData),
            headers:{'Content-Type':'application/x-www-form-urlencoded'}
        }).success(function (data) {
            if(data.code == 101){
                // 添加成功
                $scope.meg_success = '修改成功，正在返回列表页...';
                $scope.meg_error = '';
                setTimeout(function(){location.href = '#/list/0'},1000)
            }else {
                // 添加失败
                var get_error = '';
                $scope.meg_success = '';
                $scope.errorBye = function () {
                    $('#errorbox').fadeOut();
                };
                $scope.errorShow = function () {
                    $('#errorbox').fadeIn();
                }
                if(data.errors){
                    if(data.errors.hasOwnProperty('title')){
                        get_error = data.errors.title;
                    }
                    if(data.errors.hasOwnProperty('content')){
                        get_error = get_error +　(get_error?'&':'') + data.errors.content;
                    }
                    $scope.meg_error = get_error;
                }else{
                    $scope.meg_error = '修改失败，无改动...';
                }
            }
        })
    }
})
// 详情模块
var showCont = angular.module('showCont',[]);
showCont.controller('showContCtrl',function ($scope,$http,$stateParams) {
    $http({
        method:'GET',
        url:'get.php?action=get_article&id=' + $stateParams.Id
    }).success(function (data) {
        $scope.lists = data;
    }).error(function (err) {
        console.log(err);
    })
})






